home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
demo
/
vbdemo.zip
/
VERSVB.MS_
/
VERSVB.MS
Wrap
Text File
|
1994-09-02
|
8KB
|
290 lines
'**************************************************************************
'* Versions/VB 1.1 Setup Script
'**************************************************************************
''$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Windows API include stuff
CONST WS_VISIBLE=&H10000000
CONST WS_BORDER =&H00800000
CONST WS_CLIPCHILDREN =&H02000000
CONST GWL_STYLE =-16
CONST SW_SHOWMAXIMIZED=3
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 110
CONST PATHHELP = 310
CONST BADPATH = 6400
CONST CDPREVINSTALL = 7100
CONST CDSHOWNAMEORG = 7300
CONST CDGETNAMEORG = 7500
CONST CDNAMEREQ = 7700
CONST CDORGREQ = 7800
CONST BILLBOARD1 = 9000
CONST BILLBOARD2 = 9001
''Bitmap ID
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
''Maximise frame window
i1&=SetWindowLong(HwndFrame(), GWL_STYLE, WS_VISIBLE + WS_BORDER + WS_CLIPCHILDREN)
j1%=ShowWindow(HwndFrame(), SW_SHOWMAXIMIZED)
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
i% = SetSizeCheckMode(scmOff) '' could use scmOff; def = scmOnFatal
SetBitmap CUIDLL$, LOGO
SetTitle "VERSIONS/VB 1.1 Setup"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "VERSVB.INF"
END IF
ReadInfFile szInf$
''Setup billboard
AddToBillboardList CUIDLL$, BILLBOARD1, "FModelessDlgProc", 1
AddToBillboardList CUIDLL$, BILLBOARD2, "FModelessDlgProc", 1
OPTCUR$ = "1"
DEST$ = "C:\VERSVB"
AddSectionFilesToCopyList "system", GetSymbolValue("STF_SRCDIR"), GetWindowsSysDir()
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnFatal) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
GETUSERNAME:
if DoesFileExist(GetSymbolValue ("STF_SRCDIR")+"versvb.dat", femExists) then
open GetSymbolValue ("STF_SRCDIR")+"versvb.dat" for input as #1
line input #1, NameIn$
line input #1, OrgIn$
close #1
'' display previous name and organization information
AddListItem "ConfirmTextIn", NameIn$
AddListItem "ConfirmTextIn", OrgIn$
result$=UIStartDlg ("mscuistf.dll", CDPREVINSTALL, "FConfirmDlgProc", APPHELP, HELPPROC$)
if result$="CONTINUE" then
UIPop 1
else
goto ASKQUIT
end if
else '' Obtain name and organization information
result$=UIStartDlg ("mscuistf.dll", CDGETNAMEORG, "FNameOrgDlgProc", APPHELP, HELPPROC$)
NameOut$ = GetSymbolValue("NameOut")
OrgOut$ = GetSymbolValue("OrgOut")
if result$="CONTINUE" then
UIPop 1
if NameOut$ = "" then
result$ = UIStartDlg ("mscuistf.dll", CDNAMEREQ, "FNameOrgDlgProc", APPHELP, HELPPROC$)
goto GETUSERNAME
end if
else
goto ASKQUIT
end if
'' Save organization information to a file on disk 1.
open GetSymbolValue ("STF_SRCDIR")+"versvb.dat" for output as #1
print #1, NameOut$
print #1, OrgOut$
close #1
end if
OPTION:
'' SetSymbolValue "RadioDefault", OPTCUR$
''OPTL1:
'' sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", WHICHRCSHELP, HELPPROC$)
'' OPTCUR$ = GetSymbolValue("ButtonChecked")
''
'' IF sz$ = "CONTINUE" THEN
'' UIPop(1)
'' ELSEIF sz$ = "REACTIVATE" THEN
'' GOTO OPTL1
'' ELSE
'' GOSUB ASKQUIT
'' GOTO OPTION
'' END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", PATHHELP, HELPPROC$)
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO OPTION
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
Install
if RestartListEmpty() = 0 then
i% = ExitExecRestart()
end if
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("Setup sources are corrupted, call StarBase Corporation at (714) 253-6700", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateDir DEST$, cmoNone
OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
WriteToLogFile ""
WriteToLogFile " User chose as destination directory: '" + DEST$ + "'"
WriteToLogFile " User chose option: '" + OPTCUR$ + "'"
WriteToLogFile ""
WriteToLogFile "May have had to create the directory: " + DEST$
WriteToLogFile ""
AddSectionFilesToCopyList "Files", SrcDir$, DEST$
CopyFilesInCopyList
CreateProgmanGroup "Versions/VB 1.1", "", cmoNone
ShowProgmanGroup "Versions/VB 1.1", 1, cmoNone
CreateProgmanItem "Versions/VB 1.1", "Versions/VB", MakePath(DEST$,"VERSVB.EXE"), "", cmoOverwrite
CreateProgmanItem "Versions/VB 1.1", "Versions/VB Help", "WINHELP.EXE "+MakePath(DEST$,"VERSVB.HLP"), "", cmoOverwrite
CreateProgmanItem "Versions/VB 1.1", "Versions/VB Visual Diff", MakePath(DEST$,"VISDIFF.EXE"), "", cmoOverwrite
CreateProgmanItem "Versions/VB 1.1", "Versions/VB Visual Diff Help", "WINHELP.EXE "+MakePath(DEST$,"VISDIFF.HLP"), "", cmoOverwrite
CreateProgmanItem "Versions/VB 1.1", "README", "NOTEPAD.EXE "+MakePath(DEST$,"README.TXT"), "", cmoOverwrite
CloseLogFile
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION